@echo off
chcp 65001 >nul
echo ========================================
echo   设备管理系统 - 前后端联合启动脚本
echo ========================================
echo.

echo 正在检查环境...

REM 检查Python是否安装
python --version >nul 2>&1
if %errorlevel% neq 0 (
    echo ❌ 错误: 未检测到Python，请先安装Python 3.8+
    pause
    exit /b 1
)

REM 检查Node.js是否安装
node --version >nul 2>&1
if %errorlevel% neq 0 (
    echo ❌ 错误: 未检测到Node.js，请先安装Node.js 16+
    pause
    exit /b 1
)

echo ✅ Python 和 Node.js 环境检查通过

REM 检查前端目录
if not exist "frontend" (
    echo ❌ 错误: 前端目录不存在
    pause
    exit /b 1
)

REM 检查前端依赖
if not exist "frontend\node_modules" (
    echo 📦 前端依赖未安装，正在安装...
    cd frontend
    npm install
    if %errorlevel% neq 0 (
        echo ❌ 前端依赖安装失败
        pause
        exit /b 1
    )
    cd ..
    echo ✅ 前端依赖安装完成
) else (
    echo ✅ 前端依赖已存在，检查更新...
    cd frontend
    npm install --prefer-offline
    cd ..
)

echo.
echo 🚀 正在启动服务...
echo.

REM 启动后端服务
echo 启动后端API服务 (端口 8088)...
start "设备管理API服务" cmd /k "python app/main.py"

REM 等待后端启动
echo 等待后端服务启动 (3秒)...
timeout /t 3 /nobreak >nul

REM 启动前端服务
echo 启动前端开发服务器 (端口 3000)...
cd frontend
start "前端开发服务器" cmd /k "npm run dev"
cd ..

echo.
echo ========================================
echo 🎉 服务启动完成！
echo ========================================
echo.
echo 📋 服务信息:
echo   后端API:    http://localhost:8088
echo   API文档:    http://localhost:8088/docs
echo   前端界面:   http://localhost:3000
echo.
echo 💡 提示:
echo   - 前端界面可能需要几秒钟完成启动
echo   - 关闭此窗口不会停止服务
echo   - 要停止服务请关闭对应的命令行窗口
echo.

REM 等待5秒后自动打开浏览器
echo 5秒后自动打开浏览器...
timeout /t 5 /nobreak >nul

REM 打开前端界面
start http://localhost:3000

echo 🌐 浏览器已打开前端界面
echo.
echo 按任意键退出启动脚本 (服务将继续运行)
pause >nul